/*
 *  BlobDetectionAlgorithm.h
 *  portVideoBlobDetection
 *
 *  Created by Pawe? So?yga on 8/7/07.
 *  Copyright 2007 __MyCompanyName__. All rights reserved.
 *
 */

#ifndef __IBLOBDETECTIONALGORITHM_H__
#define __IBLOBDETECTIONALGORITHM_H__

#include <TouchData.h>

class IBlobDetectionAlgorithm
{
	public:
		virtual IBlobDetectionAlgorithm(int width, int height, int bytesPerPixel) = 0;
		virtual ~IBlobDetectionAlgorithm() = 0;
		
		virtual void convertBlobs() = 0;
		virtual std::vector<TouchData>& getBlobs() = 0;
		virtual void setBlobDimensionMin(int w, int h) = 0;
		virtual int getBlobsCount() = 0;
		virtual void setImage(int *pixels) = 0;
		virtual TouchData& getBlob(int number) = 0;
		virtual void computeBlobs() = 0;
};

#endif